import Taro from '@tarojs/taro'
import { AtTabs,AtTabsPane } from 'taro-ui'
import { View,Image,Button,Radio,RadioGroup,Text} from '@tarojs/components'
import  {  useEffect, useState } from 'react'
import { TelLogin,AccountLogin } from '../../components'
import './index.scss'
import headImage from "../../images/icon.png"//先引入照片，路径会发生改变
import { wxlogin } from '../../api/mode'

export default function Login(){
  const tmplIds=[
    'A6ys6DjqR40B1UxHloePI8Nf_dTLCmZb6PeJfpfHiSw',
  ]

//是否勾选隐私协议
  const[current,setCurrent]=useState(false)
  // 这里是获取下发权限地方，根据官方文档，可以根据  Taro.getSetting() 的 withSubscriptions   这个参数获取用户是否打开订阅消息总开关。后面我们需要获取用户是否同意总是同意消息推送。所以这里要给它设置为true 。
  useEffect(()=>{
    Taro.getSetting({
      withSubscriptions: true,   //  这里设置为true,下面才会返回mainSwitch
      success: function(res){   
        console.log(res);
        // 调起授权界面弹窗
        if (res.subscriptionsSetting.mainSwitch) {  // 用户打开了订阅消息总开关
          if (res.subscriptionsSetting.itemSettings != null) {   // 用户同意总是保持是否推送消息的选择, 这里表示以后不会再拉起推送消息的授权
            let moIdState = res.subscriptionsSetting.itemSettings[tmplIds];  // 用户同意的消息模板id
            if(moIdState === 'accept'){   
              console.log('接受了消息推送');
    
            }else if(moIdState === 'reject'){
              console.log("拒绝消息推送");
    
            }else if(moIdState === 'ban'){
              console.log("已被后台封禁");
    
            }
          }else {
            // 当用户没有点击 ’总是保持以上选择，不再询问‘  按钮。那每次执到这都会拉起授权弹窗
            Taro.showModal({
              title: '提示',
              content:'请授权开通服务通知',
              showCancel: true,
              success: function (ress) {
                if (ress.confirm) {  
                  Taro.requestSubscribeMessage({   // 调起消息订阅界面
                    tmplIds: tmplIds,
                    success (res2) { 
                      console.log('订阅消息 成功 ');
                      console.log(res2);
                    },
                    fail (er){
                      console.log("订阅消息 失败 ");
                      console.log(er);
                    }
                  })     
                        
                }
              }
            })
          }
    
        }else {
          console.log('订阅消息未开启')
        }      
      },
      fail: function(error){
        console.log(error);
      },
    })
  })

  const login=()=>{
  
  if(current){
  Taro.showModal({
    title: '登录',
    content: '登录进入崇军行',
    success: function (ress) {
      if (ress.confirm) {
        Taro.login({
          success: function (res) {
            if (res.code) {
             wxlogin({code:res.code}).then(res1=>{
               if(res1.data.code===600){
                Taro.setStorageSync('openid',res1.data.data.openid)
                Taro.setStorageSync('auth',res1.data.data.token)
                Taro.setStorageSync("data_expiration",Date.parse(new Date()))
                Taro.reLaunch({
                  url: `/pages/index/index`,
                })      
               }
               else if (res.data.code===602){
                console.log('请稍后再试');
                Taro.showToast({
                  title:'请稍后再试',
                  icon:'error',
                  duration:1500
                })
              }
             }
    
               )
            } else {
              console.log('登录失败！' + res.errMsg)
            }
          }
        })
      } else if (ress.cancel) {
        console.log('用户点击取消')
      }
    }
  })
}else{
  Taro.showToast({
  title: '请勾选隐私政策',
  icon: 'error',
  duration: 1500
  })
}
  }

  const changeRadio=(e)=>{
    console.log(e.detail.value);
    setCurrent(true)
  }

  const jumpToPrivacy=()=>{
    Taro.navigateTo({
      url:`/pages/privacyPolicy/privacyPolicy`
    })
  }
  return (

    <View className='loginCard'>
{/* login的head图片 */}
          <View className='headImage'>
              <Image  src={headImage} className='loginLogo' />             
          </View>
    <View>

    <RadioGroup onChange={changeRadio}>
    <Radio className='radio1' value='隐私协议'>我已阅读并同意</Radio><Text className='privacyContent' onClick={jumpToPrivacy}>《用户协议及隐私政策》</Text>
    </RadioGroup>

      <Button open-type='subscribe' onClick={login} className='loginButton'>点击登录</Button>
    </View>

    </View>
  )
}